package wisp.game;

//WISP GUI
import wisp.gui.GUImanager;

//GTGE
import com.golden.gamedev.object.sprite.AdvanceSprite;
import com.golden.gamedev.object.Timer;

//JFC
import java.awt.Graphics2D;
import java.awt.Dimension;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.net.*;

public class NPC extends CharacterSprite {

	private Timer npcTimer;
	private String name;
	//must have quest objects here
	//also dialogue data
	
	public NPC(String npcName, MainGame game, BufferedImage[] images, double x, double y){
		super(npcName, "NPC", game, images, x, y,false);
		
		name = npcName;
		
		initObject();
	}
	
	public void update(long elapsedTime){
    	super.update(elapsedTime);
    }
	
	//set sprite data here
    public int[] getUpImages() {
        return new int[] {0};
    }
    public int[] getDownImages(){
        return new int[] {0};
    }
    public int[] getLeftImages(){
        return new int[] {0};
    }
    public int[] getRightImages(){
        return new int[] {0};
    }
    //ADDED//
    public int[] getUpFlinch(){
    	return new int[]{0};
    }
    
    public int[] getDownFlinch(){
    	return new int[]{0};    
    }
    
    public int[] getLeftFlinch(){
    	return new int[]{0};
    }
    
    public int[] getRightFlinch(){
    	return new int[]{0};
    }
    //END ADDED//
    
    //For buff - dummy lang since not really needed
    ///////////added - for buff
    public int[] getUpBuffed(){
    	return new int[]{0};
    }
    public int[] getDownBuffed(){
    	return new int[]{0};
    }
    public int[] getLeftBuffed(){
    	return new int[]{0};
    }
    public int[] getRightBuffed(){
    	return new int[]{0};
    }
    /////
    
    //interaction commands
    public void selected(){
    	System.out.println(name + " NPC is selected");
    }
    
    public void clicked(){
    	if(isSelected())
    		System.out.println("NPC is clicked");
    }
    
    public void deselected(){
    	
    }
    
    public void talk(GUImanager guiBoss){
    	String text = "I'm an NPC nyoro";
    	
    	guiBoss.createDialog(text, this.name);
    	
    }
    
    @Override
    public Object getData(){
    	return this;
    }
    
    @Override
    public void initObject(){
    	
    }
    
    public void hit(CharacterSprite cs, double damage){
    	
    }
    
    public void resetMode(){
    	
    }

}
